package com.net.xpay.web.vo;


import com.net.xpay.common.domain.UserProfile;
import com.net.xpay.common.enums.user.AppVersion;
import com.net.xpay.common.enums.user.IndustryCategory;
import com.net.xpay.common.enums.user.ServicePayMode;
import com.net.xpay.core.enums.AlipayUserStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 2019/3/12 15:17

 */
@Getter
@Setter
@NoArgsConstructor
public class UserVo {
    @ApiModelProperty(notes = "id")
    private Long id;

    @ApiModelProperty(notes = "有无支付密码")
    private Boolean hasPayPassword;

    @ApiModelProperty(notes = "签约状态")
    private AlipayUserStatus alipayUserStatus;

    @ApiModelProperty(notes = "剩余的money")
    private Long moneyLeft;

    @ApiModelProperty(notes = "免费转账批次数量 单位次")
    private Long transBatchLeft;

    /**
     * 以下是基本登陆属性
     */
    @ApiModelProperty(notes = "手机号", example = "18812345678")
    private String mobile;

    @ApiModelProperty(notes = "用户唯一标识码")
    private String uid;

    @ApiModelProperty(notes = "收集收款信息用的二维码")
    private String collectQrcode;

    @ApiModelProperty(notes = "软件版本")
    private AppVersion appVersion;

    @ApiModelProperty(notes = "外部系统用户编码 对接外部系统")
    private String outerId;

    @ApiModelProperty(notes = "渠道用户id， 是哪个渠道下的用户")
    private Long channelMasterUserId;

    @ApiModelProperty(notes = "服务费单价 分")
    private Long serviceUnitPrice;

    @ApiModelProperty(notes = "到卡服务费单价 分")
    private Long bankServiceUnitPrice;

    @ApiModelProperty(notes = "平台实际服务费 分")
    private Long serviceRealPrice;

    @ApiModelProperty(notes = "当前使用的主支付宝账号")
    private String alipayNickName;

    @ApiModelProperty(notes = "当前使用的主支付宝账号id")
    private Long alipayUserId;

    @ApiModelProperty(notes = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(notes = "上次登录时间", example = "2018-12-17 11:53:18")
    private LocalDateTime lastLoginTime;

    /**
     * 实名信息
     */
    @ApiModelProperty(notes = "姓名")
    private String name;

    /**
     * 推广来源信息
     */
    @ApiModelProperty(notes = "合伙人id")
    private Long partnerId;

    @ApiModelProperty(notes = "收费模式")
    private ServicePayMode mode;

    /**
     * 比例收费模式
     */
    @ApiModelProperty(notes = "服务费收费比例")
    private BigDecimal serviceRatio;

    @ApiModelProperty(notes = "服务费收费比例")
    private BigDecimal bankServiceRatio;

    /**
     * 笔数收费模式
     */
    @ApiModelProperty(notes = "合伙人邀请码")
    private String pma;

    @ApiModelProperty(notes = "用户配置信息")
    private UserProfile userProfile;

    @ApiModelProperty(notes = "是否显示开发设置")
    private Boolean showDevSettings;

    @ApiModelProperty(notes = "行业属性")
    private String industry;
}
